package cn.jtfadmin.codegen.domain.dto;

import lombok.Data;
import org.apache.commons.collections.map.HashedMap;

import java.io.Serializable;
import java.util.*;

@Data
public class VueModalTemDataDTO implements Serializable {


    protected ClassDTO entityClass;

    /**
     * 名称
     */
    protected String name;

    /**
     * 页面描述
     */
    protected String description;

    /**
     * 查询参数
     */
    protected List<FieldDTO> fields = new ArrayList<>();


    /**
     * 导入的urls
     */
    protected String urls;


    protected Map<String,String> urlMap = new HashedMap();
    /**
     * 导入的组件
     */
    protected Set<String> importComs = new HashSet<>();

    /**
     * 导入的组件
     */
    protected Set<String> importComNames = new HashSet<>();

    /**
     * 是否具有富文本
     */
    protected boolean hasRichText;

    /**
     * 查询参数
     */
    @Data
    public static class FieldDTO {

        /**
         * 查询参数comment
         */
        protected String comment;

        /**
         * 标签类型 a-input, a-input-number
         */
        protected String tag;

        /**
         * 标签参数
         */
        protected String tagParam;

        protected String formTag;

        public FieldDTO(String comment, String tag, String tagParam, String formTag) {
            this.comment = comment;
            this.tag = tag;
            this.tagParam = tagParam;
            this.formTag = formTag;
        }

        public FieldDTO() {
        }
    }
}
